# -*- coding: utf-8 -*-
"""
Created on Thu Aug  3 07:02:06 2023

@author: skunk69
"""

import json

chinese_name = u'中国大五人格问卷（简式版）'
english_name = 'Chinese Big Five Personality Inventory, Brief Version'
abbreviation = 'CBF-PI-B'
category = u'人格评估量表'

outline = u"""大五人格模型（外向性，神经质，严谨性，开放性，宜人性）得到了广泛的研究并被证明具有跨语言、跨文化和跨评定者的稳定性，并在维度层面上得到了人格心理学家的普遍接受。
王孟成和戴晓阳等编制了一份适合中国人语言表达习惯、信效度良好，且拥有自主知识产权的人格问卷——《中国大五人格问卷》（Chinese Big Five Personality Inventory, CBF-PI）。该问卷包含了134个条目，测量了23个侧面特质。
然而在实际应用中，有些研究并不是为了对人格特质进行详细的分析，加上完整版量表在具体实施过程中需要较长时间，因此在某些特殊场合或对于某些特殊群体不太适用。为此，王孟成和戴晓阳等在CBF-PI的基础上，挑选了合适的条目组成了一个用于测量大五维度的《中国大五人格问卷（简式版）》（Chinese Big Five Personality Inventory Brief Version, CBF-PI-B）。"""

instruction = u"""下面是一些描述人们性格特点的句子，请根据每个句子与您的性格相符程度，在“完全不符合”，“大部分不符合”，“有点不符合”，“有点符合”，“大部分符合”，“完全符合”中做出选择。"""
items = {
    1:u'我常感到害怕',
    2:u'一旦确定了目标，我会努力地实现它',
    3:u'我觉得大部分人基本上是心怀善意的',
    4:u'我头脑中经常充满生动的画面',
    5:u'我对人多的聚会感到乏味',
    6:u'有时我觉得自己一无是处',
    7:u'我常常是仔细考虑之后才做出决定',
    8:u'我不太关心别人是否受到不公正的待遇',
    9:u'我是个勇于冒险、突破常规的人',
    10:u'在热闹的聚会上，我常常表现主动并尽情玩耍',
    11:u'别人一句漫不经心的话，我常会联系在自己身上',
    12:u'别人认为我是个慎重的人',
    13:u'我时常觉得别人的痛苦与我无关',
    14:u'我喜欢冒险',
    15:u'我尽量避免参加人多的聚会和嘈杂的环境',
    16:u'在面对压力时，我有种快要崩溃的感觉',
    17:u'我喜欢一开头就把事情计划好',
    18:u'我是那种只照顾好自己，不替别人担忧的人',
    19:u'我对许多事情有着很强的好奇心',
    20:u'有我在的场合一般不会冷场',
    21:u'我常担忧一些无关紧要的事情',
    22:u'我工作或学习很勤奋',
    23:u'虽然社会上有些骗子，但我觉得大部分人还是可信的',
    24:u'我身上具有别人没有的冒险精神',
    25:u'在一个团体中，我希望处于领导地位',
    26:u'我常常感到内心不踏实',
    27:u'我是个倾尽全力做事的人',
    28:u'当别人向我诉说不幸时，我常感到难过',
    29:u'我渴望学习一些新东西，即使它们与我的日常生活无关',
    30:u'别人多认为我是一个热情和友好的人',
    31:u'我常担心有什么不好的事情发生',
    32:u'在工作上，我常只求能应付过去便可',
    33:u'尽管人类社会存在着一些阴暗的东西（如战争、罪恶、欺诈），我仍然相信人性总的来说是善良的',
    34:u'我的想象力相当丰富',
    35:u'我喜欢参加社交与娱乐聚会',
    36:u'我很少感到忧郁与沮丧',
    37:u'做事讲究逻辑和条理是我的一个特点',
    38:u'我常为那些遭遇不幸的人感到难过',
    39:u'我很愿意也很容易接受那些新事物、新观点、新想法',
    40:u'我希望成为领导者而不是被领导者',    
    }

reverse_items = [5,8,13,15,18,32,36]
scales = [u'神经质',u'严谨性',u'宜人性',u'开放性',u'外向性']
scales_items = [
    [1,6,11,16,21,26,31,36],
    [2,7,12,17,22,27,32,37],
    [3,8,13,18,23,28,33,38],
    [4,9,14,19,24,29,34,39],
    [5,10,15,20,25,30,35,40],
    ]
factors = []
factors_scales = []
rating = [u'完全不符合',u'大部分不符合',u'有点不符合',u'有点符合',u'大部分符合',u'完全符合']
score_rules = list(range(1,7))

implementation = u'自评式测量，适用于成人群体。'

reliability = u'大学生、护士群体和乳腺癌患者的测量信度信息结果显示，CBF-PI-B的Alpha系数和重测系数均比较理想。'
validity = u'在大学生、护士群体和乳腺癌患者中，检验了因子结构、区分与聚合效度。'
measurements = {'reliability':reliability,'validity':validity}

interpretation = u'首先将反向题目反向计分，然后将各维度题目相加得到各维度分。'

applications = u'CBF-PI-B在成人群体的心理测量学特性均比较理想，在青少年群体和其他特殊群体的心理测量学结果还有待进一步检验。'

this_scale = {
    'chinese_name':chinese_name,
    'english_name':english_name,
    'abbreviation':abbreviation,
    'category':category,
    'outline':outline,
    'contents':{
        'instruction':instruction,
        'items':items,
        'reverse_items':reverse_items,
        'scales':scales,
        'scales_items':scales_items,
        'factors':factors,
        'factors_scales':factors_scales,
        'rating':rating,
        'score_rules':score_rules        
                },
    'implementation':implementation,
    'measurements':measurements,
    'interpretation':interpretation,
    'applications':applications    
    }

with open(abbreviation+'.json','w+',encoding='utf-8') as f:
    json.dump(this_scale,f,indent=2,ensure_ascii=False)